package com.sunxiansheng.tool;

import java.security.MessageDigest;

/**
 * MD5 加密工具类
 */
public class Md5Utils {

    /**
     * 对输入的文本进行MD5加密
     *
     * @param text 要加密的文本
     * @return 加密后的十六进制字符串
     */
    public static String encode(String text) {
        try {
            // 获取MD5消息摘要实例
            MessageDigest md = MessageDigest.getInstance("MD5");
            // 更新摘要，使用指定的字节数组
            md.update(text.getBytes());
            // 计算摘要并返回字节数组
            byte[] digest = md.digest();
            // 将字节数组转换为十六进制字符串
            StringBuilder result = new StringBuilder();
            for (byte b : digest) {
                result.append(String.format("%02x", b & 0xff));
            }
            return result.toString();
        } catch (Exception e) {
            // 捕获异常并打印堆栈信息
            e.printStackTrace();
            return null;
        }
    }

}